***********************************************************
***		Do-File to harmonize establishment measures		***
***		Last change: 20.12.2017 fo						***
***********************************************************

clear
set more off
capture log close
log using $log/vert_01_vars_estab_v16.log ,replace


*************
*	2000	*
*************

use $orig/iabbp_2000.dta if quer2000=="Q", clear

* year
gen year=2000

* Ost/West
recode bula2000 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2000 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode h01arb00 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode h01aus00 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode h01svb00 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode h01bea00 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode h01inh00 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode h01son00 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode h01ges00 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode h47aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode h47unge (-9/-1=.), gen(ungelernt)

*	Angestellte/Beamte für einfache Tätigkeiten
recode h47einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode h47fach (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode h47qual (-9/-1=.), gen(qualbeamte)

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode h47anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode h47inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode h47ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode h48tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if h48a==2	/* if estab does not employ part time */

*	Befristete
recode h48bef (-9/-1=.), gen(befristet)
replace befristet = 0 if h48b==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
* missing
gen aushilfen = .
gen freie = .

*	Leiharbeiter
* 	missing
gen leiharb = .

*	Betriebsteile geschlossen
recode h02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert / ausgegründet
recode h02b (-9/-1=.), gen(os_1)
recode h02c (-9/-1=.), gen(os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode h02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode h17 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode h11 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode h79 (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode h42 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode h15* (-9/-1=.)
gen export_proz_py = h15c + h15d

* Ertragslage im letzten Gesch姴sjahr
recode h10 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode h13 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode h60 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (20 Auspraegungen)
recode br20fb00 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2000q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py ertragslage_py gevol_* ///
	betriebsrat brantarifv export_proz_py w73_1 csweight well* persuche
save $data/est_2000.dta, replace


*************
*	2001	*
*************

use $orig/iabbp_2001.dta if quer2001=="Q", clear

* year
gen year=2001

* Ost/West
recode bula2001 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2001 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode i01arb01 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode i01aus01 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode i01svb01 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode i01bea01 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode i01inh01 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode i01son01 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode i01ges01 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode i52aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode i52unge (-9/-1=.), gen(ungelernt)
*	Angestellte/Beamte für einfache Tätigkeiten
recode i52einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode i52fach (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode i52qual (-9/-1=.), gen(qualbeamte)

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode i52anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode i52inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode i52ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode i53tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if i53a==2	/* if estab does not employ part time */

*	Befristete
recode i54bef (-9/-1=.), gen(befristet)
replace befristet = 0 if i54a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
* missing
gen aushilfen = .
gen freie = .

*	Leiharbeiter
* 	missing
gen leiharb = .

*	Betriebsteile geschlossen
recode i02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode i02b (-9/-1=.), gen (os_1)
recode i02c (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode i02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode i12 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode i06 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode i82 (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode i67 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode i11* (-9/-1=.)
gen export_proz_py = i11c + i11d

* Ertragslage im letzten Gesch姴sjahr
recode i09 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode i08 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode i60 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (20 Auspraegungen)
recode br20fb01 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2001q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py ertragslage_py gevol_* ///
	betriebsrat brantarifv export_proz_py w73_1 csweight well* persuche
save $data/est_2001.dta, replace



*******************
***		2002	***
*******************
use $orig/iabbp_2002.dta if quer2002=="Q", clear

* year
gen year=2002

* Ost/West
recode bula2002 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2002 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode j01arb02 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode j01aus02 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode j01svb02 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode j01bea02 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode j01inh02 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode j01son02 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode j01ges02 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode j41aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode j41unge (-9/-1=.), gen(ungelernt)

*	Angestellte/Beamte für einfache Tätigkeiten
recode j41einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode j41fach (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode j41qual (-9/-1=.), gen(qualbeamte)

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode j41anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode j41inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode j41ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode j42tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if j42a==2	/* if estab does not employ part time */

*	Befristete
recode j43bef (-9/-1=.), gen(befristet)
replace befristet = 0 if j43a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode j44aush (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if j44a==2	/* if estab does not employ aushilfen */

recode j44frei (-9/-1=.), gen(freie)
replace freie = 0 if j44b==2		/* if estab does not employ freie */

*	Leiharbeiter
recode j44leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if j44c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode j02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode j02b (-9/-1=.), gen (os_1)
recode j02c (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode j02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode j11 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode j05 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode j76 (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode j30 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode j10* (-9/-1=.)
gen export_proz_py = j10c + j10d

* Ertragslage im letzten Gesch姴sjahr
recode j08 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode j07 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode j59 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche
recode br20fb02 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Hochrechnungsfaktor
gen csweight = hr2002q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2002.dta, replace


*******************
***		2003	***
*******************
use $orig/iabbp_2003.dta if quer2003=="Q", clear

* year
gen year=2003

* Ost/West
recode bula2003 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2003 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode k01arb03 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode k01aus03 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode k01svb03 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode k01bea03 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode k01inh03 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode k01son03 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode k01ges03 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode k23aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode k23unge (-9/-1=.), gen(ungelernt)
*	Angestellte/Beamte für einfache Tätigkeiten
recode k23einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode k23fach (-9/-1=.), gen(facharbeit1)
*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode k23ber (-9/-1=.), gen(qualbeamte1)
recode k23uni (-9/-1=.), gen(qualbeamte2)
gen qualbeamte = qualbeamte1 + qualbeamte2

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode k23anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode k23inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode k23ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode k24tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if k24a==2	/* if estab does not employ part time */

*	Befristete
recode k25bef (-9/-1=.), gen(befristet)
replace befristet = 0 if k25a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode k26aush (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if k26a==2	/* if estab does not employ aushilfen */

recode k26frei (-9/-1=.), gen(freie)
replace freie = 0 if k26b==2		/* if estab does not employ freie */

*	Leiharbeiter
recode k54 (-9/-1=.), gen(leiharb)
replace leiharb = 0 if k50a==2

*	Betriebsteile geschlossen
recode k02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode k02b (-9/-1=.), gen (os_1)
recode k02c (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode k02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode k14 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode k08 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode k80 (-9/-1=.)(2 3=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode k72 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode k13* (-9/-1=.)
gen export_proz_py = k13c + k13d

* Ertragslage im letzten Gesch姴sjahr
recode k11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode k10 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode k47 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (20 Auspraegungen)
recode br20fb03 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2003q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2003.dta, replace


*******************
***		2004	***
*******************
use $orig/iabbp_2004.dta if quer2004=="Q", clear

* year
gen year=2004

* Ost/West
recode bula2004 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2004 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode l01arb04 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode l01aus04 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode l01svb04 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode l01bea04 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode l01inh04 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode l01son04 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode l01ges04 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode l30aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode l30unge (-9/-1=.), gen(ungelernt)
*	Angestellte/Beamte für einfache Tätigkeiten
recode l30einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode l30fach (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode l30ber (-9/-1=.), gen(qualbeamte1)
recode l30uni (-9/-1=.), gen(qualbeamte2)
gen qualbeamte = qualbeamte1 + qualbeamte2

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode l30anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode l30inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode l30ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode l31tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if l31a==2	/* if estab does not employ part time */

*	Befristete
recode l32bef (-9/-1=.), gen(befristet)
replace befristet = 0 if l32a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode l34aush (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if l34a==2	/* if estab does not employ aushilfen */

recode l34frei (-9/-1=.), gen(freie)
replace freie = 0 if l34b==2		/* if estab does not employ freie */

*	Leiharbeiter
recode l34leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if l34c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode l02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode l02b (-9/-1=.), gen (os_1)
recode l02c (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode l02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode l14 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode l08 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode l88a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode l64 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode l13* (-9/-1=.)
gen export_proz_py = l13c + l13d + l13e

* Ertragslage im letzten Gesch姴sjahr
recode l11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode l10 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode l38 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (17 Auspraegungen)
recode br17fb04 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2004q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2004.dta, replace


*******************
***		2005	***
*******************
use $orig/iabbp_2005.dta if quer2005=="Q", clear

* year
gen year=2005

* Ost/West
recode bula2005 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2005 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode m01arb05 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode m01aus05 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode m01svb05 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode m01bea05 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode m01inh05 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode m01son05 (-9/-1=.), gen(sonstig_nsoz)

*	Gesamtzahl der Beschäftigten
recode m01ges05 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
* 	fehlt
recode m27aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte
recode m27unge (-9/-1=.), gen(ungelernt)
*	Angestellte/Beamte für einfache Tätigkeiten
recode m27einf (-9/-1=.), gen(einfbeamte)

gen einfach = ungelernt + einfbeamte

*	Facharbeiter/innen
recode m27fach (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte für qualifizierte Tätigkeiten
recode m27ber (-9/-1=.), gen(qualbeamte1)
recode m27uni (-9/-1=.), gen(qualbeamte2)
gen qualbeamte = qualbeamte1 + qualbeamte2

gen facharbeit = facharbeit1 + qualbeamte

*	Beamtenanwärter/innen
recode m27anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode m27inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode m27ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode m28tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if m28a==2	/* if estab does not employ part time */

*	Befristete
recode m29bef (-9/-1=.), gen(befristet)
replace befristet = 0 if m29a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode m31aush (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if m31a==2	/* if estab does not employ aushilfen */

recode m31frei (-9/-1=.), gen(freie)
replace freie = 0 if m31b==2		/* if estab does not employ freie */

recode m321eu (-9/-1=.), gen(eineuro)
replace eineuro = 0 if m32==2

*	Leiharbeiter
recode m31leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if m31c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode m02aa (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode m02ab (-9/-1=.), gen (os_1)
recode m02ac (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode m02ad (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode m13 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode m07 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode m85a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode m52 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode m12* (-9/-1=.)
gen export_proz_py = m12c + m12d + m12e

* Ertragslage im letzten Gesch姴sjahr
recode m10 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode m09 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode m46 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (17 Auspraegungen)
recode br17fb05 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2005q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2005.dta, replace


*******************
***		2006	***
*******************
use $orig/iabbp_2006.dta if quer2006=="Q", clear

* year
gen year=2006

* Ost/West
recode bula2006 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2006 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode n01arb06 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode n01aus06 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode n01svb06 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode n01bea06 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode n01inh06 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode n01son06 (-9/-1=.), gen(sonstig_nsoz1)
recode n01ger06 (-9/-1=.), gen(sonstig_nsoz2)
gen sonstig_nsoz = sonstig_nsoz1 + sonstig_nsoz2

*	Gesamtzahl der Beschäftigten
recode n01ges06 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
recode n21aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte / Beamte für einfache Tätigkeiten
recode n21einf (-9/-1=.), gen(einfach)

*	Facharbeiter/innen / jetzt:
recode n21ber (-9/-1=.), gen(facharbeit1)

*	Angestellte/Beamte mit hochschulabschluss
recode n21uni (-9/-1=.), gen(qualbeamte2)

gen facharbeit = facharbeit1 + qualbeamte2

*	Beamtenanwärter/innen
recode n21anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode n21inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode n21ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode n22tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if n22a==2	/* if estab does not employ part time */

*	Befristete
recode n23bef (-9/-1=.), gen(befristet)
replace befristet = 0 if n23a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode n25pra (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if n25a==2	/* if estab does not employ aushilfen */

recode n25frei (-9/-1=.), gen(freie)
replace freie = 0 if n25b==2		/* if estab does not employ freie */

recode n27_1eu (-9/-1=.), gen(eineuro)
replace eineuro = 0 if n27a==2

*	Leiharbeiter
recode n25leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if n25c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode n02aa (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode n02ab (-9/-1=.), gen (os_1)
recode n02ac (-9/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode n02ad (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode n10 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode n07 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode n84a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode n79 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode n09* (-9/-1=.)
gen export_proz_py = n09c + n09d + n09e

* Ertragslage im letzten Gesch姴sjahr
recode n11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode n12 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode n39 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (17 Auspraegungen)
recode br17fb06 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2006q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2006.dta, replace


*******************
***		2007	***
*******************
use $orig/iabbp_2007.dta if quer2007=="Q", clear

* year
gen year=2007

* Ost/West
recode bula2007 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2007 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode o01arb07 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode o01aus07 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode o01svb07 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode o01bea07 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode o01inh07 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode o01son07 (-9/-1=.), gen(sonstig_nsoz1)
recode o01ger07 (-9/-1=.), gen(sonstig_nsoz2)
gen sonstig_nsoz = sonstig_nsoz1 + sonstig_nsoz2

*	Gesamtzahl der Beschäftigten
recode o01ges07 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
recode o33aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte / Beamte für einfache Tätigkeiten
recode o33einf (-9/-1=.), gen(einfach)

*	Facharbeiter/innen / jetzt:
recode o33ber (-9/-1=.), gen(facharbeit1)
*	Angestellte/Beamte mit hochschulabschluss
recode o33uni (-9/-1=.), gen(qualbeamte2)

gen facharbeit = facharbeit1 + qualbeamte2

*	Beamtenanwärter/innen
recode o33anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode o33inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode o33ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode o34tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if o34a==2	/* if estab does not employ part time */

*	Befristete
recode o35bef (-9/-1=.), gen(befristet)
replace befristet = 0 if o35a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode o37pra (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if o37a==2	/* if estab does not employ aushilfen */

recode o37frei (-9/-1=.), gen(freie)
replace freie = 0 if o37b==2		/* if estab does not employ freie */

recode o39_1eu (-9/-1=.), gen(eineuro)
replace eineuro = 0 if o39a==2

*	Leiharbeiter
recode o37leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if o37c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode o02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode o02b (-9/-1=.), gen (os_1a)
recode o02c (-9/-1=.), gen (os_1b)
recode o02d (-9/-1=.), gen (os_2a)
recode o02e (-9/-1=.), gen (os_2b)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1a==0 & os_1b==0 & os_2a==0 & os_2b==0)
replace os_ausgeg = 1 if (os_1a==1 | os_1b==1 | os_2a==1 | os_2b==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode o02f (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode o12 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode o08 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode o86a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode o81 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode o10* (-9/-1=.)
gen export_proz_py = o10c + o10d + o10e

* Ertragslage im letzten Gesch姴sjahr
recode o13 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode o15 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode o51 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (17 Auspraegungen)
recode br17fb07 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2007q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2007.dta, replace



*******************
***		2008	***
*******************
use $orig/iabbp_2008.dta if quer2008=="Q", clear

* year
gen year=2008

* Ost/West
recode bula2008 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2008 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode p01arb08 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode p01aus08 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode p01svb08 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode p01bea08 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode p01inh08 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode p01son08 (-9/-1=.), gen(sonstig_nsoz1)
recode p01ger08 (-9/-1=.), gen(sonstig_nsoz2)
gen sonstig_nsoz = sonstig_nsoz1 + sonstig_nsoz2

*	Gesamtzahl der Beschäftigten
recode p01ges08 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
recode p30aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte / Beamte für einfache Tätigkeiten
recode p30einf (-9/-1=.), gen(einfach)

*	Facharbeiter/innen / jetzt:
recode p30ber (-9/-1=.), gen(facharbeit1)
*	Angestellte/Beamte mit hochschulabschluss
recode p30uni (-9/-1=.), gen(qualbeamte2)

gen facharbeit = facharbeit1 + qualbeamte2

*	Beamtenanwärter/innen
recode p30anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode p30inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode p30ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode p31tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if p31a==2	/* if estab does not employ part time */

*	Befristete
recode p32bef (-9/-1=.), gen(befristet)
replace befristet = 0 if p32a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode p34pra (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if p34a==2	/* if estab does not employ aushilfen */

recode p34frei (-9/-1=.), gen(freie)
replace freie = 0 if p34b==2		/* if estab does not employ freie */

recode p35_1eu (-9/-1=.), gen(eineuro)
replace eineuro = 0 if p35a==2

*	Leiharbeiter
recode p34leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if p34c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode p02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode p02b (-9/-1=.), gen (os_1)
recode p02c (-0/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode p02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode p13 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode p09 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode p86a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode p59 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode p11c (-9/-1=.), gen(export_proz_py)

* Ertragslage im letzten Gesch姴sjahr
recode p15 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode p17 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode p51 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (17 Auspraegungen)
recode br17fb08 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2008q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2008.dta, replace


*******************
***		2009	***
*******************
use $orig/iabbp_2009.dta if quer2009=="Q", clear

* year
gen year=2009

* Ost/West
recode bula2009 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2009 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

***	Personalbestand

*	Arbeiter, sozpflicht
recode q01arb09 (-9/-1=.), gen(arbeiter_sozpf)

*	Azubis, sozpflicht
recode q01aus09 (-9/-1=.), gen(azubi_sozpf)

*	Sozpflicht gesamt
recode q01svb09 (-9/-1=.), gen(gesamt_sozpf)

*	Beamte, nicht sozpflicht
recode q01bea09 (-9/-1=.), gen(beamte_nsoz)

*	Tätige Inhaber, nicht sozpflicht
recode q01inh09 (-9/-1=.), gen(tatinhaber_nsoz)

*	sonstige, zb geringfügig, nicht sozpflicht
recode q01son09 (-9/-1=.), gen(sonstig_nsoz1)
recode q01ger09 (-9/-1=.), gen(sonstig_nsoz2)
gen sonstig_nsoz = sonstig_nsoz1 + sonstig_nsoz2

*	Gesamtzahl der Beschäftigten
recode q01ges09 (-9/-1=.), gen(besch_gesamt01)


*** Personalstruktur

*	Auszubildende
recode q47aus (-9/-1=.), gen(azubis)

*	Un- oder angelernte / Beamte für einfache Tätigkeiten
recode q47einf (-9/-1=.), gen(einfach)

*	Facharbeiter/innen / jetzt:
recode q47ber (-9/-1=.), gen(facharbeit1)
*	Angestellte/Beamte mit hochschulabschluss
recode q47uni (-9/-1=.), gen(qualbeamte2)

gen facharbeit = facharbeit1 + qualbeamte2

*	Beamtenanwärter/innen
recode q47anw (-9/-1=.), gen(anwbeamte)

*	tätige Inhaber/innen
recode q47inh (-9/-1=.), gen(inhaber)

*	Gesamtzahl der Beschäftigten (zweite Abfrage!)
recode q47ges (-9/-1=.), gen(besch_gesamt02)

*	Davon Teilzeit
recode q48tz (-9/-1=.), gen(teilzeit)
replace teilzeit = 0 if q48a==2	/* if estab does not employ part time */

*	Befristete
recode q49bef (-9/-1=.), gen(befristet)
replace befristet = 0 if q49a==2	/* if estab does not employ fixed term */

*	Aushilfen/Praktikanten/Freie
recode q52pra (-9/-1=.), gen(aushilfen)
replace aushilfen = 0 if q52a==2	/* if estab does not employ aushilfen */

recode q52frei (-9/-1=.), gen(freie)
replace freie = 0 if q52b==2		/* if estab does not employ freie */

recode q52_1eu (-9/-1=.), gen(eineuro)
replace eineuro = 0 if q52d==2

*	Leiharbeiter
recode q52leih (-9/-1=.), gen(leiharb)
replace leiharb = 0 if q52c==2		/* if estab does not employ aushilfen */

*	Betriebsteile geschlossen
recode q02a (-9/-1=.), gen(os_geschl)

* 	Betriebsteile ausgegliedert
recode q02b (-9/-1=.), gen (os_1)
recode q02c (-0/-1=.), gen (os_2)
gen os_ausgeg = .
replace os_ausgeg = 0 if (os_1==0 & os_2==0)
replace os_ausgeg = 1 if (os_1==1 | os_2==1)

*	Betriebsteile geschlossen oder ausgegliedert
recode q02d (-9/-1=.)(1=0)(0=1), gen(os_any)

*	Anteil Vorleistungen am Umsatz im Voryear
recode q10 (-9/-1=.), gen(vorleist_py)

*	Bemisst sich Geschaeftsvol normal an Umsatz? (Filterfrage für Vorleist und Exports)
recode q06 (-9/-1=.)(2 3 4=0)(1=1), gen(gevol_umsatz)


*** control variables

* Betriebsrat
recode q84a (-9/-1=.)(2=0)(1=1), gen(betriebsrat)

* Geltung Tarifvertrag
recode q39 (-9/-1=.)(2 3=0)(1=1), gen(brantarifv)

* Exportanteil am Umsatz im Voryear
recode q08c (-9/-1=.), gen(export_proz_py)

* Ertragslage im letzten Gesch姴sjahr
recode q12 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_py)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_py ertragslage

* Entwicklung Geschaeftsvolumen
recode q14 (-9 -8=.), gen(gevol_cat)

* Personalsuche
recode q62 (-9 -8=.)(1=1)(2=0), gen(persuche)

* Branche (18 Auspraegungen)
recode br18fb09 (1=0)(2=1)(3 4 5 6=2)(7=3)(8=4)(9 10=5)(12=6)(11 13/16=7)(17 18=8), gen(w73_1)
label define w73_1 ///
	0 "Land-u.Forstw.,Tierh.u.Fischer" ///
	1 "Energiew.u.Wasservers., Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten" ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr2009q

keep idnum year east bula arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	os_geschl os_ausgeg os_any ///
	befristet aushilfen freie leiharb vorleist_py gevol_* ///
	betriebsrat brantarifv export_proz_py ertragslage_py w73_1 csweight well* persuche
save $data/est_2009.dta, replace


*************
*** merge ***
*************
clear
forvalues year = 2000/2009 {
	qui append using "$data/est_`year'.dta"
	erase "$data/est_`year'.dta"
	}

order idnum year
sort idnum year

* Split idnums whenever interviewers indicate that "a different unit than last year" was surveyed

gen break1 = 0	/* indicates a break */
forvalues year = 2000/2009 {
	qui replace break1 = 1 if (well`year' == "D" | well`year' == "G") & (year == `year')
	}

gen otherunit1 = 0
replace otherunit1 = 1 if break == 1			 /* is 1 if break */

local i = 0		/* mark that unit change for all following years */
while `i' <=10 {
	qui replace otherunit1 = 1 if otherunit1[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

* Repeat in case a second break occurred
gen break2 = 0
forvalues year = 2000/2009 {
	qui replace break2 = 1 if (well`year' == "D" | well`year' == "G") & (year == `year') & idnum == idnum[_n-1] & otherunit1[_n-1]==1  /* last condition guarantees only second breaks are captured */
	}

gen otherunit2 = 0
replace otherunit2 = 1 if break2 == 1
local i = 0		/* mark second unit change for all following years */
while `i' <=10 {
	qui replace otherunit2 = 1 if otherunit2[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

* Drop if it occurred a third time, bec. in all of these establishments, a fourth time also occurred. These extremely few cases seem to be unreliable obs.
gen break3 = 0
forvalues year = 2000/2009 {
	qui replace break3 = 1 if (well`year' == "D" | well`year' == "G") & (year == `year') & idnum == idnum[_n-1] & otherunit2[_n-1]==1  /* last condition guarantees only second breaks are captured */
	}

gen otherunit3 = 0
replace otherunit3 = 1 if break3 == 1
local i = 0		/* mark second unit change for all following years */
while `i' <=10 {
	qui replace otherunit3 = 1 if otherunit3[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

drop if otherunit3==1

***	split establishments by generating a new id for later use in panelmodels ***
gen double estid = idnum * 100 + 10*otherunit1 + 10*otherunit2
drop otherunit* break*

*** split establishments where a change in coarse industry occurs
* 	indicate the year where the change occurs
gen indic =0
replace indic = 1 if estid==estid[_n-1] & w73_1 != w73_1[_n-1]

* 	extend the indicator of a change to all years after change occured
* 	and repeat five times in case more than one change occurrs
sort idnum estid year
local j = 0
local i = 0
while `j' <= 4	{
	dis "j=`j'"
	while `i' <=10 {
		replace indic = 1 if indic[_n-1]==1 & estid==estid[_n-1]
		local i = `i' + 1
		}
	replace estid = estid + indic if indic==1
	replace indic = 0
	local j = `j' + 1
	}
drop indic


*** If a continuous variable is missing in a single wave, impute a linear trend between two complete waves.
* If ertragslage is missing in between two nonmissing measurements: impute a linear trend
foreach var of varlist arbeiter_sozpf azubi_sozpf gesamt_sozpf beamte_nsoz ///
	tatinhaber_nsoz sonstig_nsoz besch_gesamt01 azubis ///
	einfach facharbeit anwbeamte inhaber besch_gesamt02 teilzeit ///
	befristet aushilfen freie leiharb vorleist_py betriebsrat brantarifv export_proz_py {
		sort idnum estid year
		replace `var' = ((`var'[_n-1] + `var'[_n+1])/2) if (estid==estid[_n-1]) & (estid==estid[_n+1]) & `var'==. & `var'[_n-1]!=. & `var'[_n+1]!=.
		}

	* For dichotomous variables this only makes sense if variable is constant. Keep as missing otherwise. *
	gen indic = .
	replace indic = 1 if betriebsrat==1 | betriebsrat==0
	replace betriebsrat = . if indic!=1
	drop indic

	gen indic = .
	replace indic = 1 if brantarifv==1 | brantarifv==0
	replace brantarifv = . if indic!=1
	drop indic

* for fixed effects models generate indicator that firm has outsourced
sort estid year
gen os_panel = os_any
gen os_pausgeg = os_ausgeg

local i = 0			/* extrapolate novtnoabi to subsequent spells with missing information */
while `i' <=10 {
	qui replace os_panel = 1 if (os_panel[_n-1]==1 & estid==estid[_n-1])
	qui replace os_pausgeg = 1 if (os_pausgeg[_n-1]==1 & estid==estid[_n-1])
	local i = `i' + 1
	}

* for 2006ff, survey no longer distinguishes between "does not apply" and "missing" for ertragslage. -> Forward impute "d.n.a." from previous spell
sort estid year
replace ertragslage_py = .a if year==2006 & ertragslage_py==. & ertragslage_py[_n-1]==.a & (estid==estid[_n-1])
replace ertragslage_py = .a if year==2007 & ertragslage_py==. & ertragslage_py[_n-1]==.a & (estid==estid[_n-1])
replace ertragslage_py = .a if year==2008 & ertragslage_py==. & ertragslage_py[_n-1]==.a & (estid==estid[_n-1])

* based on checks, it is reasonable to assume that service firms in 2006ff. with missing ertragslage are non-profits
replace ertragslage_py = .a if year >= 2006 & ertragslage_py==. & w73_1==7

*** Question about export intensity is not plausible for firms that dont measure business volume in terms of turnover.
	* Item is filtered for these firms. Impute a constant zero for these so they dont contribute any variation but stay in analysis.
bysort estid: egen indic = min(gevol_umsatz)
replace export_proz_py = 0 if indic == 0
drop indic

*** variables for analysis: proportion of total employees
gen leiharb100   = (leiharb/besch_gesamt02)*100
gen freie100	 = (freie/besch_gesamt02)*100
gen lnbeschgesamt = ln(besch_gesamt02)
gen lngesamt_sozpf = ln(gesamt_sozpf)

foreach var of varlist leiharb100 freie100 {
	replace `var' = 100 if `var' > 100 & `var'!=. 	/* top code at 100% */
	gen `var'_sq = `var' ^ 2						/* squared term 	*/
	}

gen beschgesamt = besch_gesamt02
gen beschgesamt_sq = beschgesamt ^ 2

* generate establishment-years
gen double est_year = (estid * 10000) + year /* make spake to insert years to the last 4 digits (does not work with strings bec numbers too long) */
duplicates tag est_year, gen(tag)
tab tag
drop tag well*

* size categories
sum besch_gesamt02, det
recode besch_gesamt02 (1/9=1)(10/19=2)(20/49=3)(50/99=4)(100/249=5)(250/499=6)(500/10000000=7), gen(sizecat)
label define sizecat 1 "1 to 9" 2 "10 to 19" 3 "20 to 49" 4 "50 to 99" 5 "100 to 249" 6 "250 to 499" 7 "500 and more"
label value sizecat sizecat

* because later used in interaction, replace with time-constant mode
bysort estid: egen sizecat_mode = mode(sizecat), min /* gen mode */
replace sizecat = sizecat_mode
drop sizecat_mode

drop if year>2008 | year <2002

*** save and end ***
save $data/est_2002-2008.dta, replace

*** END ***
log close








